#ifndef CONTEXT_DRIVER_H
#define CONTEXT_DRIVER_H

#include "Engine/Reason.h"
#include "Context/Gameplay/Car.h"

#include <string>
#include <map>

#include <cstdio>

namespace Context {

/* Drivers are attached to cars and impelent its behaviours */
class Driver : public Engine::Reason {
	protected:
		Car * myCar;
		
	public:
		Driver() : Engine::Reason("Gameplay"), myCar(0) { };
		
		virtual void getInto(Car * car) { myCar = car; };
		virtual void pulse(int delta) = 0;
		
		virtual ~Driver() { };
};
	
} // namespace Context
#endif
